Índice

 

 

Hito 3: “Análisis de objetos de interés del dataset de candidatos a exoplanetas del Observatorio Espacial Kepler 3

Motivación. 3

Objetivos. 3

Parte I: Mejoras sobre los experimentos del hito 2. 4

Introducción. 4

Comentarios Hito 1. 5

Hipótesis planteadas para el hito 2. 5

Dataset a utilizar 6

Pre-procesamiento del Dataset 6

Preparación y parametrización de funciones de apoyo. 6

Experimento 1: Predecir el resultado final de clasificar el dataset usando todos la información relevante de la misión Kepler.  7

Resultados y análisis del Experimento 1. 18

Experimento 2: Existe una relación directa entre la cantidad de exoplanetas en un sistema y las características de la estrella a la cual pertenecen. 18

Ejecución del clasificador SVM y despliegue de los resultados. 19

Ejecución de los clasificadores Base Dummy, Decision Tree, Gaussian Naive Bayes, KNN y despliegue de los resultados.  20

Resultados y análisis del Experimento 2. 23

Experimento 3: Existe una relación entre las características de los exoplanetas y la estrella del sistema al cual pertenecen   24

Ejecución del clasificador K-means y despliegue de resultados. 24

Resultados y análisis del Experimento 3. 24

Experimento 4: ¿Qué relación existe entre los valores de koi_disposition (candidato, conformado, falso positivo) y el comportamiento del vector conformado por las variables (koi_fpflag_nt, koi_fpflag_ss, koi_fpflag_co, koi_fpflag_ec)?. 25

Ejecución de los clasificadores Base Dummy, Decision Tree, Gaussian Naive Bayes, KNN y despliegue de los resultados.  25

Resultados y análisis del Experimento 4. 28

Trabajo Futuro. 29

Experimentos del hito 2 aplicando normalización, oversampling y subsampling. 29

Uso de SVC. 30

Conclusiones SVC. 31

Uso de clasificadores con datos originales, oversampling y subsampling. 32

Conclusiones. 33

Kernel PCA. 33

Red neuronal 33

Parte II: Análisis usando clustering. 35

Introducción. 35

1. Preparación de los datos. 35

2.1 Ejecución de K-Means. 36

2.2 Evaluación de métricas para K-means. 41

2.3 Conclusiones del experimento para K-means. 41

3.1 Ejecución de Clustering utilizando DBSCAN. 42

Experimento db10:. 47

Experimento db11:. 47

3.2 Evaluación de métricas para DBSCAM. 49

3.3 Conclusiones del experimento para DBSCAM. 51

Conclusiones Finales. 52

 


 

 

Hito 3: “Análisis de objetos de interés del dataset de candidatos a exoplanetas del Observatorio Espacial Kepler

·      Maximiliano Edwards

·      Camilo Ruiz-Tagle

·      Diego vargas

21 diciembre 2018

 

Motivación

 

Medición de fluctuaciones en las curvas de luz de estrellas lejanas por parte del telescopio Kepler, construido por la NASA. Se genera datos como:

·      Periodo de órbita

·      Masa del exoplaneta

·      Tamaño del exoplaneta

·      Temperatura esperada

 

Nuestra base de datos incluye:

·      10.000 entradas de 50 variables

·      Clasificados como CONFIRMED, FALSE POSITIVE, CANDIDATE

·      Flags calculadas por Kepler que ayudan en la clasificación

Objetivos

·      Explorar diferentes formas de clasificar o detectar exoplanetas a partir de información otorgada por telescopio Kepler.

·      Entender relaciones entre distintos atributos medidos por el telescopio.

·      Mejorar métodos de clasificación.

 


 

Parte I: Mejoras sobre los experimentos del hito 2.

 

Introducción

 

El presente trabajo contiene el desarrollo de algunas de las hipótesis enunciadas en el hito 1, considerando los análisis preliminares de datos, asi como la exploración y conocimiento de las variables conformadas en el dataSet.

 

El Observatorio Espacial Kepler es un satélite construido por la NASA que se lanzó en 2009. El telescopio de dicho observatorio está dedicado a la búsqueda de exoplanetas en sistemas estelares, con el objetivo final de posiblemente encontrar otros planetas habitables. Los datos corresponden a 9.564 observaciones (registros), representados por 50 variables de estudio. El objetivo de este trabajo es ver la posibilidad de usar Data Mining para facilitar la clasificación de exoplanetas. De esta forma, se podrían reducir el tiempo asociados a clasificar exoplanetas, ya que no se necesitarían mediciones adicionales para validar la presencia o no de un exoplaneta.

 


 

Comentarios Hito 1

 

En base a los comentarios generales y particulares entregados en el Hito 1, procedimos a reescribir la motivación de este proyecto para dejar claro el objetivo y los alcances de este proyecto. En esta misma línea, nos preocupamos de ahondar en la utilidad de este proyecto. Asimismo, tomamos en cuenta las sugerencias en cuanto a redacción y presentación que recibimos para dejar en claro las hipótesis e ideas presente en el informe.

 

Por último, mantuvimos la trasparencia para distinguir las fuentes y códigos previamente hechos, de los cuales nos apoyamos en esta segunda entrega.

 

Hipótesis planteadas para el hito 2.

Proponemos analizar si es que es posible deducir el comportamiento de algunas de las variables de las observaciones kepler a partir de otros subconjuntos de atributos. Nos parece que esto puede ser un resultado útil, ya que ahorraría en cuanto a la cantidad de mediciones necesarias, analizando para que tipos de medición es válida esta afirmación.

 

Para esto, surgen las siguientes hipótesis para analizar los datos y generar contribuciones misión Kepler.

 

1.     Es posible deducir valores de ciertas mediciones a partir de subconjuntos de atributos que no están directamente relacionados.

2.     Identificar la relación entre los valores binarios que toman los flags de (koi_fpflag_nt, koi_fpflag_ss, koi_fpflag_co, koi_fpflag_ec) y los 649 valores para koi_sore, en el conjunto de variables del tipo Project disposición columns.

3.     Identificar la relación entre los 649 valores para koi_score y las combinaciones posibles para koi_disposition (candidato, conformado, falso positivo) y koi_pdisposition (candidato, falso positivo).

4.     ¿Qué relación existe entre los valores de koi_disposition (candidato, conformado, falso positivo) y koi_pdisposition (candidato, falso positivo) y el comportamiento del vector conformado por las variables (koi_fpflag_nt, koi_fpflag_ss, koi_fpflag_co, koi_fpflag_ec)?

5.     Predecir la pertenencia a un valor para koi_tce_deliverance (3 valores posibles), dado el resto de las variables que representan comportamientos, características y mediciones.

6.     Existe una relación directa entre la cantidad de exoplanetas en un sistema y las características de la estrella a la cual pertenecen.

7.     Existe una relación entre las características de los exoplanetas y la estrella del sistema al cual pertenecen.

8.     Clasificar distintos tipos de falsos positivos.

 

Dataset a utilizar

Para la realización de nuestros experimentos, el primer paso consistío en eliminar las variables que estan fuera del dominio, respecto del desarrollo de las hipótesis planteadas, o bien, aquellas variables que no es necsario considerar, tomando ocom referencia nuestros estudios preliminares informados el el hito 1, así como el análisis EDA revisado en su oportunidad. Para lograr esto, procedimos a definir el conjunto data2, que sólo contiene koi_dispotition y aquellos flags que decidimos considerar en algunos de nuestros estudios, además de resguardar el conjunto data original, cuando tengamos que recurrir a este. Simultáneamente, definimos estructuras de datos para identificar y eliminar posteriormente, por áreas temáticas del dataset, aquellas variables no no entregaban información relevante o que consideramos de poco valor: los errores redundantes y sin datos, los identificadores y nombres, los resultados del análisis kepler. Finalmente, mediante el análisis sobre el atributo "koi_disposition", pudims constatar que la clase FALSE_POSITIVE es la que tiene mayor dominancia de forma significativa, respecto de CONFIRMED y CANDIDATE.

 

Pre-procesamiento del Dataset

Para realizar el Preprocesamiento del dataset, se procesaron los datos en dos conjuntos separados, data y data2, para obtener aquellos registros que tengan las clases de registros de exoplanetas que pertenezcan a la clase CONFIRMED o FALSE_POSITIVE, junto con la limpieza de aquellos registros nan, para posteriormente hacer el mapeo de los atributos de clase a tipos numéricos que permitan proceder con los experimentos. De este modo, se consideró separar el data Set en un conjunto de train de un 70% y de test de un 30%, con los respectivos vectores que representan los atributos (X_train, X_test) y aquellos que representan las clases (y_train, y_test). Este trabajo se realizó tanto para el conjunto de datos data como data2. Además, para el hito 3 se procedio a normalizar los datos para evaluar posibles mejoras en los resultados de clasificsación al trabajar todos estos valores en una base normal.

 

Preparación y parametrización de funciones de apoyo

 

Las funciones de apoyo que se describen a continuación han sido consideradas para la generación gráfica de las matrices de confusión que serán calculadas para cada uno de los experimentos (plot_confusion_matrix), junto con la función plot_classification_report que recibe como parámetro la llamada de classification_report(y_true, y_pred) para plotear estos valores. Por su parte, la función plot_cr es la encargada de generar el reporte de las métricas para 'precision', 'recall', 'f1-score', para representar las clases en el eje Y y los valores en el eje X, respectivamente.

También haremos uso de la función del laboratorio 2 run_classifier, la cual evalúa un clasificador clf recibido como parámetro un dataset X,y y un número de tests llamado num_test, que en nuestro caso hemos definido como 100 instancias. Esta función almacena y retorna los valores de precision, recall y f1-score en la variable metrics. Adicionalmente, definimos el conjunto de test para nuestro experimento en un 30% de los datos.

 

 

Experimento 1: Predecir el resultado final de clasificar el dataset usando todos la información relevante de la misión Kepler.

 

Para este experimento se quiere poder identificar la presencia de exoplanetas en los sistemas solares. Por esto se decidió ocupar tan solo las clases 'CONFIRMED' y 'FALSE POSITIVE', ya que el objetivo no es predecir el resultado del telescopio Kepler, sino que los resultados reales.

 

Con respecto a las variables de entrada, se ocupó todas las que no fueron eliminadas anteriormente, ya que no se sabe cuáles puedan afectar más en la desición que otras.

 

El primer clasficador utilizado, corresponde al SVC (Support Vector Classifier), con gamma que define cuánta influencia tiene un solo ejemplo de entrenamiento.

 

 


 


 

 


 

 

El siguiente código, que reutilizaremos proveniente del laboratorio 2, compara los distintos clasificadores que utilizaremos (Base Dummy, Árbol de Decisión, Naive bayes Gaussiano y KNN), todas implementaciones de sklearn.

 

 

 

 

 

 

 

 

 


 

 

 

 

 

 

Resultados y análisis del Experimento 1.

 

Como se puede constatar en los resultados desplegados del experimento 1, la matriz de confusión que nos entrega una mayor calidad respecto de la relación de las clases confirmados y falsos positivos, sobre los valores reales versus los resultantes de las predicciones, corresponde al experimento Decision_Tree lo que se condice con las métricas más altas alcanzadas por este, respecto de precisión, recall y f1-score.

 

En cuanto al uso de normalizar los datos, podemos apreciar a partir de los resultados una leve mejora en cuanto a las métricas evaluadas, de 0.89 a 0.95. Además, se mantiene Decision_Tree como el mejor clasificador en comparación con los otros utilizados.

 

 

Experimento 2: Existe una relación directa entre la cantidad de exoplanetas en un sistema y las características de la estrella a la cual pertenecen.

 

Crearemos clasificadores que intenten predecir la cantidad de planetas en base a las características de la estrella. Para esto se extrajo las variables dentro de la tabla de datos que correspondían a características de la estrella, lo cual se puede identificar fácilmente pues la especificación de los datos incluye esta información. Se utilizó la cantidad de planetas por sistema como la clase a predecir.

 

 

Ejecución del clasificador SVM y despliegue de los resultados

 

Ejecución de los clasificadores Base Dummy, Decision Tree, Gaussian Naive Bayes, KNN y despliegue de los resultados.

 

 

Resultados y análisis del Experimento 2.

 

Como se puede constatar en los resultados desplegados del experimento 2, sobre la matriz de confusión que nos entrega una mayor calidad respecto de la relación de los ejemplares que pertenecen a la clase de n exoplanetas (en base a las características de la estrella), sobre los valores reales versus los resultantes de las predicciones, no podemos decir que un clasificador se comporte de mejor forma respecto a otro, salvo en casos puntuales de clases específicas como sucede con todos los clasificadores respecto de las estrellas que tienen un sólo exoplaneta, pero este resultado está lejos de reflejar una tendencia y ser concluyente, porque esta relación se pierde para todas las demás clases. Lo anterior se ve reflejado en el deficiente desempeño de las métricas precisión, recall y f1-score. En consecuencia, no podemos afirmar que existe una relación directa entre el número de exoplanetas que posee una estrella y las propiedades de esta.


 

 

 

Experimento 3: Existe una relación entre las características de los exoplanetas y la estrella del sistema al cual pertenecen

 

Primero se debe diferenciar las características de las estrellas y las de los exoplanetas. Luego se probará con diferentes algoritmos de clustering, viendo si existe una diferencia significativa al clusterizar solo los atributos de las estrellas vs los atributos de las estrellas y de los planetas.

 

Para esto se extrajo las características de las estrellas y de los planetas de manera separada. Esta información está documentada en la fuente de los datos, por lo que no fue dificil hacer la separación.

 

Ejecución del clasificador K-means y despliegue de resultados

 

Resultados y análisis del Experimento 3.

 

Como se puede constatar en los resultados desplegados del experimento 3, el mejor experimento al considerar las características de sólo las estrellas (en azul), está dado por 3 clusters, con un score aproximado a 0.58. lo anterior significa que, considerando las características de sólo las estrellas, existen tres grupos que reúnen ejemplares similares. Sin embargo, esta relación se mantiene relativamente constante y con una calidad inferior, respecto de agrupaciones configuradas con un número de cluster ascendentes, lo que quiere decir que significativamente no existe un clustering mejor que otro, o bien, no podemos concluir nada respecto de estas agrupaciones con lo que no se prueba la hipótesis del experimento. Por otra parte, al considerar ambos grupos de características (en rojo), pareciera existir una tendencia con 2 o 3 clusters pero esta se pierde rápidamente en la medida que aumentan el número de estos. Al analizar este experimento, para estar en condiciones de indicar que un grupo de clusters representan algo, deberian producirse diferencias significativas entre el score cuando aumenta o disminuye el número de clusters pero de un valor sucesivo a otro.

 

Ahora bien, con los datos normalizados se muestra una mejora en la agrupación de elementos según sus atributos de la estrella a la cual pertenecen, al menos para el primer cluster. De todos modos, esta mejora no se logra visualizar con el uso de más clusters, por lo que llegamos a la misma conclusión obtenida con los datos sin normalizar.

 

 

Experimento 4: ¿Qué relación existe entre los valores de koi_disposition (candidato, conformado, falso positivo) y el comportamiento del vector conformado por las variables (koi_fpflag_nt, koi_fpflag_ss, koi_fpflag_co, koi_fpflag_ec)?

Buscamos una relación entre los flags presentes en el dataset y los resultados de la columna de clasificación koi_disposition.

 

En este caso, el experimento es parecido al primero, solo que las clases objetivo son las flags que entrega kepler cuando hace su análisis de los datos. Las variables de entrada es toda la tabla de datos luego del preprocesamiento.

 

Ejecución de los clasificadores Base Dummy, Decision Tree, Gaussian Naive Bayes, KNN y despliegue de los resultados.

 

 

 

 

Resultados y análisis del Experimento 4.

 

Como se puede constatar en los resultados desplegados del experimento 4, el mejor clasificador es indistintamente Decision Tree en conjunto con KNN respecto de las métricas precision, recall y f1-score. Sin embargo, Decision Tree y KNN funciona mejor en identificar ejemplares que pertenecen a la clase CANDIDATE, pero difieren en su desempeño con las clases restantes; concretamente, KNN presenta una mejor clasificación para las clases CONFIRMED y FALSE_POSITIVE, aunque estas tienen una precisión cercana al 50% para cada una de ellas. Con lo anterior podemos indicar que puede existir una relación entre los valores de koi_disposition (candidato) y el comportamiento del vector conformado por las variables indicadas, pero no podemos indicar una tendencia clara respecto de las clases confirmado y falso positivo.

 

Cabe destacar, que no fue necesario normalizar los datos para ese experimento, ya que los atributos invoucrados son de caracter booleano.

 


 

Trabajo Futuro

 

Como trabajo futuro nos proponemos ir incorporando sucesivamente los conocimientos teóricos y prácticos adquiridos durante los laboratorios 3 y 4, para enriquecer el análisis y el proceso de data minig que estamos ejecutando en esta problemática partícular, de modo de enriquecer los experimentos realizados, adquirir un mejor entendimento de los datos y poder robustecer nuestro tratamiento sobre las hipótesis que hemos decidido abordar. Adicionalmente, podemos identificar las siguientes líneas de acción para el próximo hito:

 

·      Normalizar los resultados de los atributos para evitar dominancia de unas clases sobre otras, producto de la presencia de ejemplares.

·      Replicar los experimentos bajo un enfoque de overfitting y underfitting.

·      Analizar las hipótesis restantes.

·      Verificar, en los experimentos futuros,si podemos sostener la capacidad de apoyar la clasificación de exoplanetas utilizando DM.

·      Utilizar otras técnicas de DM.

 

Experimentos del hito 2 aplicando normalización, oversampling y subsampling.

 

·      Normalizar datos (restar media y dividir por desviación estándar)

·      Repetir los experimentos anteriores usando Oversampling y Subsampling


 

Uso de SVC

 

 

Conclusiones SVC.

 

·      F1-score mejora de 0.89 a 0.95 para clase CONFIRMED

·      Variación de 1% entre Oversampling y Subsampling para Precision de clase FALSE POSITIVE y Recall de clase CONFIRMED

·      Precision de la clase FALSE POSITIVE se mantiene igual

·      Aumenta el Recall de la clase CONFIRMED de 0.88 a 0.94

 

·      Oversampling presenta un mejor resultado

 


 

Uso de clasificadores con datos originales, oversampling y subsampling.

 

 

Conclusiones.

·      Mejor clasificador para datos normales y con oversampling: Decision Tree

·      Mejor clasificador para datos con subsampling: Decision Tree y KNN

·      Oversampling aumenta las tres métricas de 0.89 a 0.92

 

Kernel PCA

 

Aplicamos Kernel PCA con kernel gaussiano a los datos para reducir su dimensionalidad, maximizando la varianza. Se espera con esto facilitar el trabajo de los clasificadores con una mejor separación de los puntos, y de esta manera mejorar su rendimiento.

 

Primero hacemos un análisis de varianza con PCA lineal, para luego tomar la cantidad de variables necesarias para llegar a esa varianza y usarlas en la transformación gaussiana.

 

Red neuronal

Implementamos una red neuronal de 3 capas ocultas, con 10 perceptrones por capa. Esto para mejorar los resultados obtenidos con los clasificadores más simples usados en las partes anteriores.

 

Observamos que los resultados obtenidos por estos clasificadores son mucho mejor a los obtenidos con cualquier otro usado anteriormente. Sin embargo hay que notar que aplicar PCA a nuestros datos provocó una baja en el rendimiento de al rededor de un 5%, contrario a lo predicho inicialmente.

 

 

 

Parte II: Análisis usando clustering.

Introducción

El presente trabajo consiste en un análisis del data set kleperData el cual contiene la selección de 6 variables de estudio, las que se indican en la siguiente sección de preparación de datos, excluyendo aquellas variables flags de errores consideradas en el data set original. Se utiliza como punto de partida el dataset data del hito 2, el cual es un data set procesado donde ya se han limpiado y preprocesado los datos para los experimentos e hipótesis el hito 2 . Para este trabajo, se someterán los datos a los algoritmos de clustering revisados en este curso :kmeans, clustering jerárquico y DBSCAN. El objetivo de este trabajo es encontrar agrupaciones significativas que permitan explicar o complementar los análisis realizados en los hitos anteriores.

1. Preparación de los datos

Los atributos del dataset corresponden a parámetros de tránsito planetario. Estos se ajustan a una curva de luz de Kepler de varios trimestres, suponiendo una efemérides orbital lineal. Ejemplos son: el periodo orbital en días, la época de tránsito, parámetro de impacto, duración del tránsito en horas, profundidad del tránsito, radio planetario, temperatura del planeta, flujo de insolación.

para este trabajo se seleccionaron los siguientes atributos de tránsito estelares:

·      koi_period: periodo orbital en días. El intervalo entre tránsitos planetarios consecutivos.

·      koi_impact: La distancia proyectada al cielo entre el centro del disco estelar y el centro del disco del planeta en conjunción, normalizado por el radio estelar.

·      koi_duration: La duración de los tránsitos observados. La duración se mide desde el primer contacto entre el planeta y la estrella hasta el último contacto. se mide en horas.

·      koi_depth:profundidades del tránsito (partes por millón)

·      koi_insol: flujo de insolación. Depende de los parámetros estelares (específicamente el radio estelar y la temperatura), y en el semieje mayor del planeta.

·      koi_tce_plnt_num: valor categórico.TCE Planet Number.

## 'data.frame':    6630 obs. of  6 variables:
##  $ data.koi_period      : num  9.49 54.42 19.9 1.74 2.53 ...
##  $ data.koi_impact      : num  0.146 0.586 0.969 1.276 0.701 ...
##  $ data.koi_duration    : num  2.96 4.51 1.78 2.41 1.65 ...
##  $ data.koi_depth       : num  616 875 10829 8079 603 ...
##  $ data.koi_insol       : num  93.59 9.11 39.3 891.96 926.16 ...
##  $ data.koi_tce_plnt_num: num  1 2 1 1 1 1 2 3 1 1 ...
summary(kleperData)
##  data.koi_period     data.koi_impact    data.koi_duration
##  Min.   :   0.2997   Min.   :  0.0000   Min.   :  0.167  
##  1st Qu.:   2.1818   1st Qu.:  0.2240   1st Qu.:  2.542  
##  Median :   7.9674   Median :  0.5800   Median :  3.892  
##  Mean   :  52.7410   Mean   :  0.7753   Mean   :  5.767  
##  3rd Qu.:  29.2159   3rd Qu.:  0.9170   3rd Qu.:  6.296  
##  Max.   :1071.2326   Max.   :100.8060   Max.   :138.540  
##  data.koi_depth      data.koi_insol     data.koi_tce_plnt_num
##  Min.   :      4.5   Min.   :       0   Min.   :1.000        
##  1st Qu.:    186.2   1st Qu.:      25   1st Qu.:1.000        
##  Median :    513.4   Median :     180   Median :1.000        
##  Mean   :  30470.3   Mean   :    7883   Mean   :1.228        
##  3rd Qu.:   2829.7   3rd Qu.:    1191   3rd Qu.:1.000        
##  Max.   :1541400.0   Max.   :10947555   Max.   :8.000
dim(kleperData)
## [1] 6630    6

2.1 Ejecución de K-Means.

## $centers
##   data.koi_period data.koi_impact data.koi_duration data.koi_depth
## 1       1.1107542       0.4316000          2.347340        408.540
## 2      25.0008292       0.6282521          7.479886     340715.952
## 3      54.6690297       0.7856577          5.654225       9496.325
## 4       0.5667935       0.0600000          4.714000         92.400
##   data.koi_insol data.koi_tce_plnt_num
## 1    2736813.464              1.000000
## 2       4037.503              1.016667
## 3       4180.422              1.242908
## 4   10947554.550              1.000000
## 
## $totss
## [1] 2.253464e+14
## 
## $withinss
## [1] 5.479800e+12 9.282935e+12 1.042007e+13 0.000000e+00
## 
## $tot.withinss
## [1] 2.51828e+13
## 
## $betweenss
## [1] 2.001636e+14

Vemos que muestra un resumen con la cantidad de clusters, los tamaños por cluster, los centroides (cluster means), el vector (las etiquetas a cada uno de los puntos), el error obtenido, y los atributos posibles del objeto (como cluster, centers, totss, etc.)

Las asignaciones de cada una de las 6630 observaciones de kleperData están contenidas en k$cluster:

head(km.out$cluster)
## [1] 3 3 3 3 3 3

Conociendo el tamaño de cada cluster:

km.out$size
## [1]    5  420 6204    1

Información sobre donde están ubicados los centroides:

km.out$centers
##   data.koi_period data.koi_impact data.koi_duration data.koi_depth
## 1       1.1107542       0.4316000          2.347340        408.540
## 2      25.0008292       0.6282521          7.479886     340715.952
## 3      54.6690297       0.7856577          5.654225       9496.325
## 4       0.5667935       0.0600000          4.714000         92.400
##   data.koi_insol data.koi_tce_plnt_num
## 1    2736813.464              1.000000
## 2       4037.503              1.016667
## 3       4180.422              1.242908
## 4   10947554.550              1.000000

Estimando la cantidad de clusters con wss o método del codo:/var/folders/w4/bym3x9dn4zjdw_1z9sl079lh0000gn/T/com.microsoft.Word/Content.MSO/8EB1B693.tmp


 

El gráfico nos muestra el error de K-Means usando diferentes números de clusters. Acá se puede notar que un valor óptimo es 4.

Visualización de clusters: Podemos ver si hay grupos entre pares de variables usando pairs, lo que genera un scatterplot matrix. Acá podemos notar que hay una separación en los datos. En este caso tenemos seis atributos, y podemos ver cómo se comportan.

 

/var/folders/w4/bym3x9dn4zjdw_1z9sl079lh0000gn/T/com.microsoft.Word/Content.MSO/A2CDC446.tmp

/var/folders/w4/bym3x9dn4zjdw_1z9sl079lh0000gn/T/com.microsoft.Word/Content.MSO/A5C92044.tmp

/var/folders/w4/bym3x9dn4zjdw_1z9sl079lh0000gn/T/com.microsoft.Word/Content.MSO/B4B5BB75.tmp

/var/folders/w4/bym3x9dn4zjdw_1z9sl079lh0000gn/T/com.microsoft.Word/Content.MSO/E45822F2.tmp

/var/folders/w4/bym3x9dn4zjdw_1z9sl079lh0000gn/T/com.microsoft.Word/Content.MSO/2008324B.tmp


 

2.2 Evaluación de métricas para K-means.

 

2.3 Conclusiones del experimento para K-means.

Respecto del clustering utilizando K-Means, podemos ver que el óptimo indicado, según el método del codo, recae en k=4. sin embargo, decidimos ver que sucede al aumentar el número de k, realizando para ello 4 experimentos: KM4, KM5, KM6 y KM7.

Estos experimentos sucesivos también representan continuidad del codo, según la heurística indicada.

Considerando el criterio de separación entre clusters, el mejor experimento corresponde al modelo KM4, mientras que el mejor experimento respecto de la cohesión entre los ejemplares que pertenecen a un cluster, la encontramos en KM7.

Es importante indicar que el patrón de comportamiento de los clusters siempre tuvo una configuración similar, donde lo que se produjo es que los clusters más pequeños simpre pertenecían mayoritariamente a un cluster mayor, aparecido en el experimento anterior de menor K. por último, podemos notar que en la medida que aumentamos el valor de k, el cluster mayoritario (el de mayor dominancia en el primer experimento K=4) es el que se mantiene en presencia, mientras que los clusters de menor tamaño parecen desagregarse en clusters más pequeños. la otra característica a destacar, es que siempre existe una intersección o solapmiento de clusters, salvo los clusters notoriamente pequeño que parecen representar ruido.


 

3.1 Ejecución de Clustering utilizando DBSCAN.

 

Este método permite identificar clusters cuyos datos contienen mucho ruido, outliers y presentan una forma poco clara de separar en un plano. Realizaremos una serie de experimentos eligiendo las combinaciones de atributos que permitan encontrar una mejor clusterización, con un radio (eps=7) y con 20 puntos dentro del cluster (minPts = 20)

 

Experimento db1: 

/var/folders/w4/bym3x9dn4zjdw_1z9sl079lh0000gn/T/com.microsoft.Word/Content.MSO/D4FD8D91.tmp

 

 
 
 
 
 
 
 
 
 
 
 
Experimento db2: 

/var/folders/w4/bym3x9dn4zjdw_1z9sl079lh0000gn/T/com.microsoft.Word/Content.MSO/AA70F65E.tmp

Experimento db3: 

 

/var/folders/w4/bym3x9dn4zjdw_1z9sl079lh0000gn/T/com.microsoft.Word/Content.MSO/B913F6C7.tmp

Experimento db4:

/var/folders/w4/bym3x9dn4zjdw_1z9sl079lh0000gn/T/com.microsoft.Word/Content.MSO/73C5D21C.tmp

Experimento db5:

/var/folders/w4/bym3x9dn4zjdw_1z9sl079lh0000gn/T/com.microsoft.Word/Content.MSO/377ED36D.tmp


 

Experimento db6:

/var/folders/w4/bym3x9dn4zjdw_1z9sl079lh0000gn/T/com.microsoft.Word/Content.MSO/FF532A8A.tmp

Experimento db7:

 

/var/folders/w4/bym3x9dn4zjdw_1z9sl079lh0000gn/T/com.microsoft.Word/Content.MSO/41A62503.tmp

Experimento db8:

/var/folders/w4/bym3x9dn4zjdw_1z9sl079lh0000gn/T/com.microsoft.Word/Content.MSO/257A1328.tmp

Experimento db9:

/var/folders/w4/bym3x9dn4zjdw_1z9sl079lh0000gn/T/com.microsoft.Word/Content.MSO/69BCE909.tmp

 

 

 

Experimento db10:

/var/folders/w4/bym3x9dn4zjdw_1z9sl079lh0000gn/T/com.microsoft.Word/Content.MSO/65526B76.tmp

Experimento db11:

/var/folders/w4/bym3x9dn4zjdw_1z9sl079lh0000gn/T/com.microsoft.Word/Content.MSO/7A8678FF.tmp


 

Experimento db12:

/var/folders/w4/bym3x9dn4zjdw_1z9sl079lh0000gn/T/com.microsoft.Word/Content.MSO/9DF0BEF4.tmp

Experimento db13:

 

/var/folders/w4/bym3x9dn4zjdw_1z9sl079lh0000gn/T/com.microsoft.Word/Content.MSO/9722EA65.tmp

Experimento db14:

 

/var/folders/w4/bym3x9dn4zjdw_1z9sl079lh0000gn/T/com.microsoft.Word/Content.MSO/7A072522.tmp

Experimento db15:

 

/var/folders/w4/bym3x9dn4zjdw_1z9sl079lh0000gn/T/com.microsoft.Word/Content.MSO/AB7A6EBB.tmp

3.2 Evaluación de métricas para DBSCAM.

 

 

 


 

3.3 Conclusiones del experimento para DBSCAM.

 

Considerando cada una de las variables del dataSet KleperData, se optó por generar 15 experimentos, según todas las combinaciones posibles de las 6 variables: se excluyen los pares simétricos ya que (variable_x, variable_2_y) es igual a (variable_y, variable_x) y las diagonales (variable_n, variable_n). de este modo pudimos observar si es posible realizar clustering que sea importante para entender si existían grupos de datos.

Según el criterio de separación, el mejor modelo fué dado por db7, al considerar las variables de profundidad e impacto. Sin embargo, este exprimento tiene prácticamente un solo cluster con 4.058 observaciones y 2.319 que corresponden a ruido, donde todos los otros cluster son insignificantes.

El criterio de cohesión indica que el mejor experimento fué dado por db14 al considerar las variables de profundidad y número planetario, donde nos encontramos con una situación similar al experimento anterior con una clase dominante de 4.060 ejemplares, 2.316 que corresponden a ruido, y cuatro clusters con número de ejemplares insignificantes.

De los 15 experimentos, la tendencia encontrada en aquellos donde se encontraron 5,6,7,8 clusters fué que existe una clase que concentra la gran mayoria de los ejemplares, siendo siempre las otras insignificantes. dependiendo de las variables seleccionadas, en algunos se logró reducir sustantivamente el ruido (db5, db1). los experimentos db6, db9 y db12 confirman que en realidad existe un único cluster.db4 y db10 son depuraciones de esta situación, pero con la aparición de pequeños clusters marginales.

 

Conclusiones Finales

El dataset utilizado, si bien es cierto, presenta información adecuadamente caracterizada respecto del objeto de estudio, al considerar un buen número de features y pocos registros nulos en algunos atributos puntuales, no representa necesariamente una garantía que nos permitiera extraer conocimiento útil respecto de la observación y entendimiento de los exoplanetas representados en este. Específicamente, para las hipótesis elaboradas por nosotros, sólo logramos visualizar algunos comportamientos de datos, pero habría sido útil para nuestros experimentos contar con un contexto experto que nos permita entender con mayor profundidad qué es lo representado por las variables. Si bien es cierto, la información a nivel de diccionario de datos y descripción de las variables era adecuada y muy completa, creemos no fué suficiente para abordar nuestras hipótesis con conocimiento real de causa.

 

Sin embargo, el diseño del trabajo que fué indicado nos pareció útil en nuestro aprendizaje, al entender que primero se debe hacer una exploración inicial de los datos para conocer las presencias de clases, y la calidad de la información en términos generales, para luego elaborar un conjunto de hipótesis, preparar el dataset para las exigencias específicas de cada una de ellas y finalmente, ejecutar un conjunto de algoritmos de Data mining para poder validarlas. Junto con esto, fue enriquecedor conocer las librerías de R y de python que implementa cada uno de estos algoritmos. En este contexto, entendimos que algunos algoritmos son adecuados dada la intersección del problema (hipótesis abordada) con las posibilidades de los datos y de su preprocesamiento para tal efecto.

 

En el hito 3 logramos depurar el setup de nuestros algoritmos mediante oversampling y subsampling, permitiendo de este modo, llegar a resultados de mejor calidad. También nos pareció muy interesante contrastar un enfoque de aprendizaje supervisado con un clustering, tratando de buscar explicaciones a los patrones de comportamiento que encontramos en el hito 2. Logramos constatar que existe un grupo de datos que representaría una clase dominante, sin embargo no logramos obtener ninguna interpretación significativa de este resultado. Además de lo anterior, pudimos utilizar y experimentar con otros algoritmos además de los adquiridos en la formación de este curso.

 

Por último, creemos que puede ser más exitoso trabajar con hipótesis binarias sobre la presencia o ausencia de una clase, representada por alguna variable, y contar con una colaboración de distintos clasificadores, cada uno especializado en clasificar o entender una variable específica, en lugar de buscar un modelo que entienda lo que sucede con todos los datos. Esta conclusión es una reflexión profunda respecto de nuestros propios experimentos, así como de todas las situaciones vistas en las exposiciones de los trabajos de los compañeros, donde siempre fué mejor acotar el problema y su dominio, y específicamente, acotar el diseño del mismo clasificador.